Dynomotion

Group: DynoMotion Message: 14601 From: David Strip Date: 4/16/2017
Subject: Two-axis G32 moves
Imagine a lathe with a rotating tool. The axis of the rotating tool will be called A and the position is measured in degrees.
(I know this is contrived, but the actual machine is harder to describe/understand)

Z is the axis of rotation of the workpiece, +X is towards the operator.  Assume all distance units are inches

A typical threading operation would look something like
G0 X.5 Z0
G32
G1 Z5 F.1
This would give us a 10TPI thread.

But now I want the cutter to rotate 10 revs per rev of the workpiece. In 5 inches of threading we get 50 revs of the workpiece, hence 500 revs of the cutter, so we get something like
G0 X.5 Z0 A0
G32
G1 Z5 A500 F???

And that's the question - what's the feed per rev for the G1 command? Do we treat the A and Z axis units as if they are comparable Cartesian units and set the speed to sqrt(A*A + Z*Z) = sqrt(10 * 10 + .1 * .1) = 10.0005?
When the A distance is large compared to Z (imagine we want 500 revs/rev), do we just ignore the Z part of the computation because it's so far down in the noise?
--


Group: DynoMotion Message: 14603 From: Tom Kerekes Date: 4/17/2017
Subject: Re: Two-axis G32 moves

I'm not sure I understand completely.  But I'm thinking the F value should still be 0.1 if the A axis is configured as a pure angular axis (Degrees with 0 radius). 

Normally with something like a simple G1 motion where linear and angular motions are combined (ie X and A) then the feedrate is determined by the linear axes only.  G32 should plan the motion in exactly the same manner as a G1 move if the Spindle is exactly at the assigned speed.  But when executed the motion will be adjusted (geared) to the actual Spindle Motion.

Seems like your example code has a bug.  500 revs should be 180000 degrees.

Hopefully the motion is not limited by the speed and acceleration of the A axis.  Is there any cutting going on while the axes are accelerating?

Regards
TK

On 4/16/2017 8:26 AM, David Strip David@... [DynoMotion] wrote:
 

Imagine a lathe with a rotating tool. The axis of the rotating tool will be called A and the position is measured in degrees.
(I know this is contrived, but the actual machine is harder to describe/understand)

Z is the axis of rotation of the workpiece, +X is towards the operator.  Assume all distance units are inches

A typical threading operation would look something like

G0 X.5 Z0
G32
G1 Z5 F.1
This would give us a 10TPI thread.

But now I want the cutter to rotate 10 revs per rev of the workpiece. In 5 inches of threading we get 50 revs of the workpiece, hence 500 revs of the cutter, so we get something like
G0 X.5 Z0 A0
G32
G1 Z5 A500 F???

And that's the question - what's the feed per rev for the G1 command? Do we treat the A and Z axis units as if they are comparable Cartesian units and set the speed to sqrt(A*A + Z*Z) = sqrt(10 * 10 + .1 * .1) = 10.0005?
When the A distance is large compared to Z (imagine we want 500 revs/rev), do we just ignore the Z part of the computation because it's so far down in the noise?
--



Group: DynoMotion Message: 14605 From: David Strip Date: 4/17/2017
Subject: Re: Two-axis G32 moves
On 4/17/2017 11:39 AM, Tom Kerekes tk@... [DynoMotion] wrote:
>
> I'm not sure I understand completely. But I'm thinking the F value
> should still be 0.1 if the A axis is configured as a pure angular axis
> (Degrees with 0 radius).
>
> Normally with something like a simple G1 motion where linear and
> angular motions are combined (ie X and A) then the feedrate is
> determined by the linear axes only. G32 should plan the motion in
> exactly the same manner as a G1 move if the Spindle is exactly at the
> assigned speed. But when executed the motion will be adjusted
> (geared) to the actual Spindle Motion.
>
Having never programmed gcode for a machine with angular axes I was not
aware that the angular axes don't figure into the feedrate. This is the
key to the puzzle.
>
> Seems like your example code has a bug. 500 revs should be 180000
> degrees.
You're right, of course. I was just winging it when I wrote the example
and should have been more careful.
>
> Hopefully the motion is not limited by the speed and acceleration of
> the A axis. Is there any cutting going on while the axes are
> accelerating?
As I said, the example was not the actual machine configuration, which
would confuse the situation even more. In the actual machine, the A axis
has infinite acceleration (it's not a physical axis) and there is no
cutting involved.

--

The ship of state is the only known vessel that leaks from the top.
-James Reston